!FontMgr2 and how it changes Font$Path
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

The program has 2 operating modes - short paths, and long paths. 

When set to operate using short paths, the program creates a number of
system variables, za$Path, zb$Path, zc$Path, etc. Each of these system
variables holds the pathname of a group. These are then registered with
the Font Manager as za:, zb:, etc.

When set to operate using long paths, the program uses the FontGroups:
path and registers FontGroups:groupname with the FontManager.

All communication with the Font Manager is via *FontInstall and
*FontRemove CLI commands.

The font manager checks that the length of the passed path and the
length of the existing path do not add up to > 255 (evem when doing a
FontRemove!). When using long paths, this permits about a dozen groups
to be active (depending on their names). Using short paths permits
over 60 groups to be active (although currently only 37 are available).

NB Rumour has it that the available amount for the font manager on 
RISCOS 4.0 is 4k, but I have not been able to determine this.

Note: Previously, !FontMgr2 used the F$D variable, but the font manager
appears to do some sort of interpretation, and ends up running out of
paths just as quickly.